45BCreatePolicy

Description

The business rule is introduced to provide the ability to configure the activity-based creation of a new policy based on the data elements of an existing policy.  One or more policies may be generated from a single source policy, although only one new policy per activity will be supported.  All policies will be created with a current policy effective date and in a pre-issue state pending user review.  CreatePolicy business rule will be attached to a non-reversible activity that will govern the creation of a new policy based on an existing policy.   

 

220BCreatePolicy Element / Attribute Table

Element/Tag

Definition

Attribute

Element/Attribute Value and Description

<CreatePolicy>

The required opening and closing elements of this business rule.

 

 

    <Policy>

Required Element;
Indicates the policy to create with specified plan. Start of the policy section lists overrides and additions. A new policy will be created that is identical to the old policy: same plan, same roles, same policy allocations, etc. However, various levels of field substitutions and insertions will be supported, enabling the apportionment of the source policy into multiple new policies by invoking this function multiple times.
 
If the created policy uses the same plan as the originating policy, then policy data on the new policy can be defaulted to the values of the originating policy. If the created policy is for a different plan, then the policy data must be specified. This allows the flexibility to create policies in any plan, while providing simpler configuration where the same plan is used.
 
When the same plan is used for the new policy, any given policy or segment field value can be substituted for that field's value on the new policy.  If the referenced field does not exist on the old policy, it will be inserted. Any existing field not referenced for substitution will be copied to the new policy without change.

PLAN

Optional Attribute
String
- Valid plan name/PlanGUID.
Plan name is taken from the plan table as its value. The plan determines which Policy screen business rule will be used to define the fields for the new policy.
 

COPYSOURCE

Optional Attribute
Indicates whether or not to copy all source policy values to the new policy and only applies to AsPolicy and AsPolicyField (not AsSegment, etc.)
 
Yes
- Copy the source policy values to the new policy.
 

The values will default to the source policy values unless overridden by values specified in this section.

 

When the new policy has a different plan than the source policy, policy field names will be compared between the source policy and the new policy's Policy screen business rule field names. For all field names that match, the source policy data will be copied to the new policy.
 

     <Fields>

Required element for the different plan;
Opening tag for listing policy fields (fixed and dynamic fields). The fields section will be used to override the field values that are copied from the original policy.
 
Note:
This element is required when 'PLAN', 'COPYSOURCE' attributes are not present inside the <Policy> element.  At least PolicyName, IssueState fields should be configured.

 

 

       <Field>

Required element for the different plan;
Opening tag for policy field definition block.

 

 

            <From>

Required Element;
Defines the field value passed from the source MathVariable or literal elements. Defines the value passed from any value of the transaction (math, collection reference, PolicyField, etc.) or a literal value. Explicit reference will always take precedence over values copied from the source policy.

 

String: MathVariable/Literal/Field name.
The "From" value can be any value from the transaction (math, collection reference, Policy:Field, etc.) or a literal value. Explicit reference will always take precedence over values copied from the source policy.

             <To>

Required Element;
Defines the name of the policy field to which value will be passed from <From> element value.

 

String: Any valid policy column/field name.
The "To" value can be either a column name (AsPolicy) or a field name (AsPolicyField).

<Segments>

 

 

 

 

   <Segment>

Optional Element;
Defines segments to be created for the new policy. Indicates the start of the section listing segment fields for segment overrides and additions. These values will apply to all segments created on the new policy.

 

If multiple segments of the specified type exist in the source policy, the same number of segments of that type will be created in the new policy.

SEGMENTNAME

Required Attribute;
String:
Segment name.
SEGMENTNAME attribute will define the segment to be used.  Defines the name of the segment to be copied/created as any valid segment name. The corresponding calculation rule for the segment name will be used to calculate the segment.

COPYSOURCE

 

 

Optional attribute;
Indicates whether to copy the policy segment from the source or create a new segment named by the SEGMENTNAME from the source policy.
Yes
- Specified segment will be copied from the source policy.

COPYALLROLES

Optional Attribute;

Indicates whether or not to copy all the segment roles from the source policy segment to the new policy segment.

Yes:  Segment roles will be copied from source policy.

    <Fields>

Optional Element;
Opening tag for segment section listing segment fields for this particular segment. The fields section will be used to override the field values that get copied from the original policy.

 

 

        <Field>

Optional Element;
Opening tag for segment field definition block for this particular segment.

 

 

            <From>

Required Element;
Defines the value to place in the field from any MathVariable of the transaction or literal elements, substituting for the source segment field value.

 

String: MathVariable/Literal/Field Name. Name of any MathVariable defined in the transaction.

              <To>

Required Element;
Defines the name of the field with any valid segment field name where value will be passed from <From> element value.

 

String: Any valid segment field name.

The "To" value can be segment field name that is defined in the SegmentName business rule.

<Roles>

Optional Element;
Indicates the opening element to identify the roles section under the CreatePolicy tag. Roles will be supported via three options: copy all roles, copy specified roles by RoleCode, and add new roles using supplied data.

COPYALL

Optional Attribute;
Specifies whether or not to copy all the roles from the source policy.
Yes
- Indicates copy all the roles from the source policy.
 

      <Role>

Optional and Repeatable element;
Identifies the roles section under the CreatePolicy tag and defines the roles assigned for the clients in relation to a policy. Repeated for each role to be created for the target policy.

ROLECODE

 

 

 

 

 

COPYSOURCE

Required Attribute;
Code:
As defined in AsCode table=>AsCodeRole.
 

 

 

Optional Attribute;

Yes:  All segment roles of this type will be copied from the source segment to the new policy.

<Comments>

Optional Element;
Defines comments to associate with the new policy. Creates and populates with data taken from either the source policy or from the activity itself.

COPYALL

Optional Attribute
Yes:
Copy all the comments from the source policy.
 

 

 

221BCreatePolicy Database Tables

 

Table Name

Description

AsAddress

Stores client address information: physical address, e-mail, phone.

AsAddressField

Stores address information organized by guaranteed user identification.

AsAddressRole

Associates a client with an address. Clients may have several addresses of varying types and several clients may share the same address.

AsClient

Stores personal information about clients.

AsCode

Contains a list and description of all valid codes and their values.

AsRole

Contains role information.

 

223BXML Example

 

<CreatePolicy>

   <Policy PLAN="PlanName" COPYSOURCE="Yes">

       <Fields>

           <Field>

              <From>MVNewPolicyNumber</From>

              <To>PolicyNumber</To>

           </Field>

           <Field>

              <From>08</From>

              <To>StatusCode</To>

           </Field>

        </Fields>

    </Policy>

    <Segments>

       <Segment SEGMENTNAME="Deferred Annuity" COPYSOURCE="Yes" COPYALLROLES="No">

           <Fields>

              <Field>

                 <From>SourceCompany</From>

                 <To>TransferCompany</To>

              </Field>

           </Fields>

       </Segment>

    </Segments>

    <Roles COPYALL="No">

          <Role ROLECODE="17" COPY="No">

              <Fields>

                  <Field>

                    <From>RoleClientGUID</From>

                    <To>ClientGUID</To>

                  </Field>

                  <Field>

                    <From>Activity:EffectiveDate</From>

                    <To>RoleStartDate</To>

                   </Field>

            </Fields>

           </Role>

   </Roles>

   <Allocations FUNDMAP="MVFundMapCollection">

        <Allocation FROMTYPE="Policy" TOTYPE="Policy"></Allocation>

        <Allocation FROMTYPE="10" TOTYPE="25">

            <Fields>

               <Field>

                 <From>MVPercentInAllocation</From>

                 <To>PercentInAllocation</To>

               </Field>

            </Fields>

        </Allocation>

   <Allocations>

   <Comments COPYALL="No">

       <Comment>Add this comment to the new policy</Comment>

   </Comments>

 

<ActivitySchedules>MVActivityCollection</ActivitySchedules>

<ActivitySchedule TRANSACTION=”AddPayAAB”>

            <Fields COPYSOURCE=”Yes”>

                <Field>

                   <From>ActivityEffectiveDate</From>

                   <To>ActivityEffectiveDate</To>

                   <DataType>Date</ DataType >

                </Field>

                <Field>

                   <From>BeneClientGUID</From>

                   <To>ClientGUID</To>

                   <DataType>Text</DataType>

                </Field>

             <Fields>

      <Allocations>

           <Allocation FROMTYPE=”01,02,03,04,&ldots;etc”>

             <Fields>

                  <Field>

                     <From>field Name</From>

                     <To>Allocation field Name</To>

                     <DataType>Text</DataType>

                  </Field>

             </Fields>

         </Allocation>

      </Allocations>

   </ActivitySchedule>

 </ActivitySchedules>

</CreatePolicy>

 

 

 

 

Schema Example

 

<CreatePolicy>

     <Policy COMPANY="[String]" PLAN="[String]" COPYSOURCE="[No|Yes]">

          <Fields>

               <Field>

                    <From>[String]</From>

                    <To>[String]</To>

               </Field>

          </Fields>

     </Policy>

     <Segments>

          <Fields>

               <Field>

                    <From>[String]</From>

                    <To>[String]</To>

               </Field>

          </Fields>

          <Segment SEGMENTNAME="[String]" COPYSOURCE="[No|Yes]" COPYALLROLES="[No|Yes]">

          <Fields>

               <Field>

                    <From>[String]</From>

                    <To>[String]</To>

               </Field>

          </Fields>

          <Roles>

               <Role ROLECODE="[Code]" COPY="[No|Yes]">

                 <Fields>

                    <Field>

                         <From>[String]</From>

                         <To>[String]</To>

                    </Field>

                 </Fields>

               </Role>

          </Roles>

          </Segment>

        </Segments>

 

         <Roles COPYALL="[No|Yes]">

                <Fields>

                   <Field>

                      <From>[String]</From>

                      <To>[String]</To>

         </Field>

                </Fields>

              <Role ROLECODE="[Code]" COPY="[No|Yes]">

                 <Fields>

                    <Field>

                        <From>[String]</From>

                        <To>[String]</To>

                    </Field>

                 </Fields>

              </Role>

           </Roles>

 

        <Allocations FUNDMAP="[String]">

            <Allocation ALLOCATIONSOURCE="[Activity]" FROMTYPE="[Code]" TOTYPE="[Code]">

               <Fields>

                  <Field>

                      <From>[String]</From>

                      <To>[String]</To>

                  </Field>

               </Fields>

            </Allocation>

        </Allocations>

 

     <Comments COPYALL="[No|Yes]">

          <Comment>[String]</Comment>

     </Comments>

 

     <ActivitySchedules>

         <ActivitySchedule TRANSACTION="[String]">

              <Fields COPYSOURCE="[No|Yes]">

                   <Field>

                        <From TYPE="[Map]">[String | Constant]</From>  

                        <To>[String]</To>

                   </Field>

               </Fields>

         <Allocations>

              <Allocation ALLOCATIONSOURCE="[Activity]" FROMTYPE="[Code]" TOTYPE="[Code]" >

                   <Fields>

                      <Field>

                          <From>[String]</From>

                          <To>[String]</To>

                      </Field>

                   </Fields>

             </Allocation>

         </Allocations>

       </ActivitySchedule>

     </ActivitySchedules>

 

     <Activities>

         <Activity TRANSACTIONNAME="[String]">

              <Fields>

                   <Field>

                       <From>[String]</From>

                       <To>[String]</To>

                   </Field>

              </Fields>

        </Activity>

     </Activities>

</CreatePolicy>